<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		
		<script>
			//我们知道被var关键字定义的变量没有块级作用域，所以一般情况下if中也可以使用这个变量。
			//但是我们可以看到if块级作用域中也有一个变量num，只不过是用let声明的变量。
			//在块级作用域中用let声明的变量或被const声明的常量会被绑定在这个块级作用域中，不受外部代码的影响
			//所以此时这个块级作用域中打印的num变量是let声明的变量，由于还未申明就被打印所以结果为undefine
			var num=10;
			if(true){
				console.log(num);//打印出结果为undefine
				//被let声明的变量无法进行变量提升，所以上面打印的num值为undefine
				let num=0;
			}
		</script>
	</body>
</html>
